package cn.tedu;
//第4天晚课
public class Day04Evensong {
    public static void main(String[] args) {
        int num = 2;
        int a = 0;
        switch(num){     //将今天的标准练习-----每人最少做两遍
            case 1:
                a = a+1;
            case 2:
                a = a+num*2; //a=0+4---a=4
            case 3:
                a = a+num*3; //a=4+6---a=10
        }
        System.out.println(a); //10



        /*
        int num = 0;
        while(num<10){
            num++;
        }
        System.out.println(num); //10
        */











        /*
        //在分支中给变量赋值，必须保证每一条路中都得赋上值才可以
        //常见问题:
        int num = 8;
        int flag;
        if(num>=10){
            flag = 1;
        }else{
            flag = 0;
        }
        System.out.println(flag);

        int a = 2;
        int b;
        switch(a){
            case 1:
                b = 1;
                break;
            case 2:
                b = 2;
                break;
            default:
                b = 3;
        }
        System.out.println(b);
        */












        /*
        //2)输出9的乘法表:
        int num = 9;
        while(num>=1){
            System.out.println(num+"*9="+num*9);
            num--;
        }
        System.out.println("继续执行...");
        */
        /*
        循环变量:因数num
          1)int num=9;
          2)num>=1
          3)num--;

        输出9的乘法表:
          9*9=81
          8*9=72
          7*9=63
          6*9=54
          5*9=45
          4*9=36
          3*9=27
          2*9=18
          1*9=9

         */












        /*
        //1)满3000打5折，满1000不满3000打7折，满500不满1000打8折，不满500打9折:
        double price = 300.0; //消费金额
        if(price>=3000){
            price*=0.5;
        }else if(price>=1000){   //练习--------7:29继续
            price*=0.7;
        }else if(price>=500){
            price*=0.8;
        }else{
            price*=0.9;
        }
        System.out.println("最终结算金额为:"+price);
         */

    }
}




/*
1.Scanner接收用户输入的数据：分三步，不需要理解，需要背下来
  1)在package下:
     import java.util.Scanner;
  2)在main中:
     Scanner scan = new Scanner(System.in);
  3)在第2步之下:
     System.out.println("请输入年龄:");
     int age = scan.nextInt();
     System.out.println("请输入商品价格:");
     double price = scan.nextDouble();
2.分支结构：
  3)if...else if结构：多条路
  4)switch...case结构：多条路
    优点：效率高、结构清晰
    缺点：只能对整数判断相等
    break：跳出switch
3.循环：反复多次执行一段相同或相似的代码
4.循环三要素：
  1)循环变量的初始化
  2)循环的条件(以循环变量为基础)
  3)循环变量的改变(向着循环的结束变)
    循环变量：在整个循环过程中所反复改变的那个数
5.循环结构：
  1)while结构：先判断后执行，有可能一次都不执行
  2)do...while结构：先执行后判断，最少执行一次
    ---当要素1与要素3的代码相同时，首选do...while
 */


/*
常见面试题:常见面试题:--------------------必须掌握的
1.JDK、JRE、JVM的区别:
  1)JDK:java开发工具包，是java的核心，包括:JRE+编译、运行等命令工具
  2)JRE:java运行环境，是运行java程序所必须的环境的集合，包括:JVM+java系统类库
  3)JVM:java虚拟机，是java实现跨平台的最核心部分，能够运行java语言所开发的程序
2.java的8种基本数据类型是什么?(简述java的8种基本数据类型)
  答:8种基本数据类型包括:byte,short,int,long,float,double,boolean,char
    1)byte:字节型，用于存储整数的，占用1个字节，范围-128到127
    2)short:短整型，用于存储整数的，占用2个字节，范围-32768到32767
    3)int:最常用的整型，用于存储整数的，占用4个字节，范围-2^31到2^31-1
    4)long:长整型，用于存储较大的整数，占用8个字节，范围-2^63到2^63-1
    5)float:单精度浮点数，用于存储小数的，占用4个字节，不能表示精确的值
    6)double:双精度浮点数，最常用的存储小数的类型，占用8个字节，不能表示精确的值
    7)boolean:布尔型，存储true或false，占用1个字节
    8)char:字符型，采用Unicode字符编码格式，存储单个字符，占用2个字节
3.switch可以作用于哪些数据类型上？
  答:byte,short,int,char,String,枚举，其余类型都不允许
*/













